package models

type TaskMysqlModel struct {
	ID           int64  `json:"id" gorm:"type:bigint;column:id" `                       // 任务ID
	Spec         string `json:"spec" gorm:"type:varchar(32);column:spec" `              // crontab
	CreatedAt    int64  `json:"createdAt" gorm:"type:int;column:created_at"`            // 时间
	UpdatedAt    int64  `json:"updatedAt" gorm:"type:int;column:updated_at"`            // 更新时间
	IsDelete     int8   `json:"isDelete" gorm:"type:tinyint;column:is_delete"`          // 是否已经删除（自动删除 1月以前的）
	Name         string `json:"name" gorm:"varchar(100);column:name"`                   // 任务名称
	Status       int8   `json:"status" gorm:"type:tinyint;column:status"`               // 状态 1:正常 0:停止
	Command      string `json:"command" gorm:"varchar(1000);column:command"`            // 执行的命令
	Config       string `json:"config" gorm:"varchar(255);column:config"`               // 简单配置 {type:""}
	NotifyStatus int8   `json:"notifyStatus" gorm:"tinyint;column:notify_status"`       // 执行状态 0 没执行 , 1执行成功，2 执行中 ,3 失败
	IsNotify     int8   `json:"isNotify" gorm:"tinyint;column:is_notify"`               // 任务执行结束是否通知 0: 不通知 1: 通知
	NotifyConfig string `json:"notifyConfig" gorm:"varchar(255);column:notify_config" ` // 通知接受者json{type:, [{name:xxx,key:xxx}]}
	WorkerType   int    `json:"workerType" gorm:"type:tinyint;column:worker_type"`      // 执行器ID ，0 为不要处理,1 http ,2 shell
	Label        string `json:"label" gorm:"varchar(255);column:label"`                 // 标签
	DoStatus     int8   `json:"doStatus" gorm:"type:tinyint;column:do_status"`          // 执行状态 0 默认 ,1 新任务 , 2 执行中 ,3 失败,10执行成功
	DoUpdatedAt  int64  `json:"doUpdatedAt" gorm:"type:int;column:do_updated_at"`       // 执行更新时间
	//NextRunTime    int    `json:"next_run_time" gorm:"int;column:next_run_time" `              //下次时间
	//Protocol       int8   `json:"protocol" gorm:"tinyint;column:protocol"`                     // 协议 1:http 2:系统命令shell
}

func (sv *TaskMysqlModel) TableName() string {
	return "cron_task"
}
